//
//  URLMacros.h
//  RuiHeAppApp
//
//  Created by Yan Chen on 2023/7/4.
//

#ifndef URLMacros_h
#define URLMacros_h

//品牌ID    瑞诺100000100000     科威特100000100002      999999999999通用品牌ID
static NSString *const brand_id = @"999999999999";//通用品牌ID

static NSString *const brand_id_renon = @"100000100000";//瑞诺品牌ID

static NSString *const brand_id_zrgp   = @"100000100001";//中瑞品牌ID

static NSString *const brand_id_kwt   = @"100000100002";//科威特品牌ID

//登录
static NSString *const H_login = @"api/login/login";

//注册时获取验证码
static NSString *const H_sendCodeNoToken = @"api/account/sendReCodeEmailNotToken";

//修改密码时获取验证码
static NSString *const H_sendCode = @"api/account/sendReCodeEmail";

//注册
static NSString *const H_register = @"api/login/register";

//忘记密码
static NSString *const H_forgetPassword = @"api/account/forgetPwd";

//获取个人信息
static NSString *const H_accountInfo = @"api/account/getAccount";

//根据用户名获取个人信息
static NSString *const H_getUserInfo = @"api/user/getSuperUserList";

//获取设备在线比例
static NSString *const H_deviceOnline = @"api/home/getDeviceOnline";

//获取电站与设备数量(终端)
static NSString *const H_getPlantAndDeviceCount = @"api/appHome/getPlantAndDeviceCount";

//获取用户和设备数据
static NSString *const H_getUserAndDeviceCount = @"api/appHome/getUserAndDeviceCount";

//获取设备分布比例
static NSString *const H_DeviceProportion = @"api/appHome/getDeviceProportion";

//获取产品类型信息    
static NSString *const H_deviceTypeDetailList = @"api/home/getDeviceTypeDetailList";

//获取用户下的设备各种状态的数量
static NSString *const H_userDeviceStatus = @"api/device/getUserDeviceStatus";

//根据设备状态查询用户的设备列表  userid不传就是查自己  ,查下级要传下级用户的userID
static NSString *const H_deviceList = @"api/device/getUserDeviceByStatus";

//根据筛选条件查询用户的设备列表
static NSString *const H_getDeviceListByFilter = @"api/device/getUserDeviceList";

//绑定设备
//static NSString *const H_deviceList = @"api/appHome/getUserDevice";

//获取电站各种状态的数量
static NSString *const H_userPlantStatus = @"api/appHome/getPlantListStatus";

//根据电站状态查询我的电站列表
static NSString *const H_plantListByStatus = @"api/appHome/getPlantListStatusByStatus";

//电站分组列表
static NSString *const H_plantGroupList = @"groups/list";

//新增电站分组
static NSString *const H_addPlantGroup = @"groups/add";

//获取分组类型
static NSString *const H_plantTypeOfGroup = @"groups/tableTwo";

//获取分组类型(三合一)
static NSString *const H_plantTypeOfGroup3 = @"back/product/tableTwo";

//修改电站分组
static NSString *const H_editPlantGroup = @"groups/edit";

//电站分组下的电站列表
static NSString *const H_plantListOfGroup = @"groups/getGroupDetail";

//可添加到分组的电站列表
static NSString *const H_plantListCanAddToGroup = @"groups/getAllowPlant";

//分组添加电站
static NSString *const H_groupAddPlant = @"groups/addPlant";

//删除分组下的电站
static NSString *const H_groupRemovePlant = @"groups/removePlant";

//分组vpp设置
static NSString *const H_groupVppSet = @"api/running/strategy/config";

//批量分组设置
static NSString *const H_batchGroupVppSet = @"groups/batch/command/config";

//分组vpp设置 时间校准
static NSString *const H_groupVppSetSystemTime = @"api/running/strategy/timing";

//分组vpp设置  重新下发
static NSString *const H_groupVppReSend = @"api/running/strategy/config/resend";

//获取分组设置记录
static NSString *const H_vppSetRecords = @"api/running/strategy/record/list";

//获取分组设置记录详情
static NSString *const H_vppSetRecordsDetail = @"api/running/strategy/detail";

//用户分组列表
static NSString *const H_userGroupList = @"user/groups/list";

//用户分组详情
static NSString *const H_userGroupListDetail = @"user/groups/user/list";

//创建用户分组
static NSString *const H_addUserGroup = @"user/groups";

//分组添加用户
static NSString *const H_groupAddUser = @"user/groups/addGroupsUser";

//修改用户分组
static NSString *const H_editUserGroup = @"user/groups";

//用户分组设置
static NSString *const H_userGroupVppSet = @"user/groups/config";

//用户分组时间校准
static NSString *const H_userGroupSystemTimeSet = @"user/groups/timing";

//用户分组时间校准2(只调接口,不发参数)
static NSString *const H_userGroupSystemTimeSet_2 = @"user/groups/time/reset";

//获取电站分组一键充放电配置
static NSString *const H_getPlantGroupForceConfig = @"groups/forced/config";

//获保存电站分组一键充放电配置
static NSString *const H_savePlantGroupForceConfig = @"groups/save/forced/config";


//获取电站信息
static NSString *const H_plantDetail = @"api/plant";

//获取电站曲线数据
static NSString *const H_plantChartData = @"api/plant/line/";

//新增电站
static NSString *const H_addPlant = @"api/plant";

//删除电站
static NSString *const H_deletePlant = @"api/plant/";

//编辑电站
static NSString *const H_editPlant = @"api/plant";

//修改用户信息
static NSString *const H_updateAccount = @"api/account/updateAccount";

//上传图片
static NSString *const H_uploadImage = @"api/account/upload";

//首页
static NSString *const H_homeData = @"api/home/homepage";

//修改密码
static NSString *const H_changePassword = @"api/account/updatePwd";

//修改邮箱
static NSString *const H_changeEmail = @"api/account/setEmail";


//获取所有国家编码
static NSString *const H_countryRegionCode = @"api/saas/countryRegionCode";

//根据编码获取名称
static NSString *const H_countryRegionName = @"api/saas/";

//获取代理感兴趣的产品类型
static NSString *const H_productTypeList = @"api/device/productTypeList";

//提交国家代码审核
static NSString *const H_addPartner = @"api/saas/addPartner";

//获取我的申请列表
static NSString *const H_myApplicationList = @"api/saas/getApplyList";

//获取我的审核列表
static NSString *const H_myApprovalList = @"api/saas/getRegisterList";

//判断是否国代
static NSString *const H_checkRegionCode = @"api/saas/checkRegionCode";

//判断自己是否有申请过
static NSString *const H_getMyApply = @"api/saas/getMyApply";

//合作商审核
static NSString *const H_partnerAudit = @"api/saas/partnerAudit";

//获取下级用户
static NSString *const H_getUserList = @"api/appHome/getUserList";

//获取终端用户
static NSString *const H_getTerminalUserList = @"api/user/endpoint/user/list";

//备注下级用户
static NSString *const H_subUserRemark = @"api/user/add/subUser/remark";

//获取某个用户的电站列表
static NSString *const H_getPlantListByUserId = @"api/appHome/getPlantListByUserId";

//获取未分发的设备
static NSString *const H_getNoBindList = @"api/user/getNoBindList";

//设备分发
static NSString *const H_devicesBind = @"api/user/devicesBind";

//获取区域码
static NSString *const H_regionCode = @"api/saas/regionCodeByCountry";

//设备绑定
static NSString *const H_deviceUserBind = @"api/appHome/deviceUserBind";

//设备解绑
static NSString *const H_deviceUnBind = @"api/user/deviceUnBind";

//获取电站下的设备各种状态的数量
static NSString *const H_plantDeviceStatus = @"api/appHome/getPlantDeviceStatus";

//根据状态获取电站下的设备
static NSString *const H_getPlantDeviceListByStatus = @"api/appHome/getPlantDeviceByStatus";

//获取未绑定到电站的设备
static NSString *const H_getNoAddPlantDeviceList = @"api/appHome/getNoAddPlantDeviceList";

//获取未绑定到电站的设备(按类型),已添加的
static NSString *const H_getNoAddPlantDeviceListByDeviceType = @"api/system/asset/device/selectAvaliableDeviceInfoListBySystemType";

//获取电站下的已绑定设备列表 绑定设备到电站时要求显示所有设备,未绑定的在前,绑定的在后
static NSString *const H_getPlantDeviceList = @"api/appHome/getPlantDevice";

//设备批量添加到电站
static NSString *const H_addPlantDevices = @"api/appHome/addPlantDevices";

//备电站从电站批量删除
static NSString *const H_removePlantDevices = @"api/appHome/removePlantDevices";

//删除电站下的设备(单个)
static NSString *const H_removePlantDevice = @"api/appHome/removePlantDevice";


//获取设备升级列表
static NSString *const H_endUserUpgradeList = @"api/appHome/getUpList";

//获取设备信息表详细信息(设备拓扑)
static NSString *const H_deviceTop = @"api/appHome/device/";

//设备报修
static NSString *const H_warranty = @"api/warranty";

//设备故障列表
static NSString *const H_warrantyList = @"api/warranty/list";

//设备告警,故障列表
static NSString *const H_deviceLogList = @"api/appHome/alarmLog/list";

//查询是否绑定设备(瑞诺和中性平台用)
static NSString *const H_deviceBindStatus = @"api/appHome/scan";

//查询设备分发和绑定状态(三合一)
static NSString *const H_deviceBindStatus_V3 = @"back/partner/checkDeviceOra";

//查询设备密钥
static NSString *const H_getDevicePassword = @"api/device/getDevicePassword";

//校验设备密钥
static NSString *const H_vetifyDevicePassword = @"api/global/syncData/authDeviceLogin";

//获取设备端点关系(最原始的树状结构)
static NSString *const H_getDevRelation = @"device/getEndpointRelations";

//获取设备端点关系(已经归类好了,平级结构)(参数设置页面)
static NSString *const H_getDevRelationTypeList = @"back/deviceInfo/getEndpointTypeList";

//获取端点下的子端点列表信息
static NSString *const H_getEndpointListByCode = @"back/deviceInfo/getEndpointListByCode";

//获取 参数设置 端点类型列表(原来是用上面的那个接口,这个已经过滤掉没配置的端点类型)
static NSString *const H_getEndpointTypeParamList = @"back/deviceInfo/getEndpointTypeParamList";

//获取指令列表
static NSString *const H_getDevCommandList = @"api/device/commandList";

//获取端点下的所有参数(参数设置)
static NSString *const H_devParameterConfig  = @"api/device/param/list";

//获取参数设置的当前值
static NSString *const H_getParamStatusData = @"api/appHome/getParamStatusData";

//(设备统一接口)修改端点参数,固件升级等,设备上报参数(状态信息) 都调用此接口
static NSString *const H_controlDevice  = @"iot/deviceSend";

//固件升级,上面那个也能用
static NSString *const H_deviceUgrade  = @"iot/upgradeDeviceEndpointList";



//获取要展示的端点数据点字段
static NSString *const H_getDataByStyle = @"back/dataConfig/getDataByStyle";

//新增用户
static NSString *const H_addUser = @"api/user/addUser";

//绑定上级用户
static NSString *const H_bindSuper = @"api/user/bindSuper";

//获取电站转让人的信息
static NSString *const H_transferPlantUser = @"api/plant/transferPlantUser";

//转让电站
static NSString *const H_transferPlant = @"api/plant/transferPlant";

//电站标签
static NSString *const H_getNetTags = @"api/plant/getNetTags";

//配网记录
static NSString *const H_netRecord = @"api/appHome/netRecord";

//生成加密的二维码
static NSString *const H_invitationCode = @"api/user/invitationCode";

//解析二维码
static NSString *const H_parsingInvitationCodes = @"api/user/parsingInvitationCodes";

//获取上级人员信息
static NSString *const H_getSuperAdmins = @"api/appHome/getSuperAdmin";

//意见反馈
static NSString *const H_feedback = @"feedback";

//获取电站类型及可添加的设备类型
//static NSString *const H_plantTypeAndProductTypeRelation = @"api/plant/plantTypeAndProductTypeRelation";

//获取电站类型及可添加的设备类型
static NSString *const H_plantTypeAndProductTypeRelation = @"api/device/tableTwo";

//获取设备详情(站点信息,电池信息,软件信息,硬件信息)
static NSString *const H_getDeviceDetails_v1 = @"api/appHome/v1/getDeviceDetails";

//获取设备 故障和告警 数量
static NSString *const H_getDeviceData = @"api/appHome/getDeviceData";

//确认日志
static NSString *const H_confirmLog = @"back/deviceLog/editAudit";

//获取设备详情(带有无可升级固件)
static NSString *const H_getDeviceInfo  = @"api/device/v2/device/";

//获取设备topo数据(233k)
static NSString *const H_getDeviceTopoInfo233  = @"api/device/v2/device/RSM233/";

//能效排行
static NSString *const H_getEnergyRanking_v1 = @"api/appHome/v1/getEnergyRanking";

//储能状态
static NSString *const H_getStorageStatus = @"api/appHome/v1/getStorageStatus";

//电站详情能量统计
static NSString *const H_getRegularStatisticsByPlant = @"api/appHome/v1/getRegularStatisticsByPlant";

//供载率
static NSString *const H_getLoadSupplyRate = @"/dev-api/api/device/getSingleDeviceLoadSupplyRate";

//首页运行数据
static NSString *const H_getRunData = @"api/appHome/v1/getRunData";

//查设备端点信息(分组)
static NSString *const H_getEndpointByType = @"api/appHome/getEndpointByType";

//查pack电芯数据
static NSString *const H_getPackCellData = @"api/appHome/getPackCellData";

//功率统计
static NSString *const H_getenergyCurve = @"/dev-api/api/appHome/v1/energyCurve";

//设备能量统计
static NSString *const H_getRegularStatistics = @"/dev-api/api/appHome/v1/getRegularStatistics";

//所有端点数据点
static NSString *const H_getAllEndpointData = @"/dev-api/api/appHome/getAllEndpointData";

//修改设备名称
static NSString *const H_modifyDeviceName = @"/dev-api/api/device";



#pragma mark ---------------- 二期 ---------------

//电站状态
static NSString *const H_getStationStatus  = @"api/app/v2/getStationStatus";

//发电概况
static NSString *const H_getOverview  = @"api/app/v2/getOverview";

//设备状态(故障,告警数量)(终端)
static NSString *const H_getDeviceStatus  = @"api/app/v2/getDeviceStatus";

//能效排行
static NSString *const H_getEnergyEfficiencyRank  = @"api/app/v2/getEnergyEfficiencyRank";

//节能减排
static NSString *const H_getEmissionReduction  = @"api/app/v2/getEmissionReduction";

//累计收益
static NSString *const H_getCumulativeGain  = @"api/app/v2/getCumulativeGain";

//充放电数据
static NSString *const H_getChargeDischarge  = @"api/app/v2/getChargeDischarge";

//电站详情数据
static NSString *const H_getStationDetail  = @"api/app/v2/getStationDetail";

//发电数据
static NSString *const H_getGenerationData  = @"api/app/v2/getGenerationData";

//输入输出数据
static NSString *const H_getInOutData  = @"api/app/v2/getInOutData";

//实时数据
static NSString *const H_getRealTimeData  = @"api/app/v2/getRealTimeData";

//输入组串数据
static NSString *const H_getInChartData  = @"api/app/v2/getInChartData";

//能量块列表
static NSString *const H_getEnergyBlockList  = @"api/app/v2/getEnergyBlockList";

//能量块详情
static NSString *const H_getEnergyBlockDetail  = @"api/app/v2/getEnergyBlockDetail";

//设备详情
static NSString *const H_getDeviceDetail  = @"api/app/v2/getDeviceDetail";

//pcs运行参数
static NSString *const H_getPCSDetail  = @"api/app/v2/getPCSDetail";


//品牌商创建子用户 获取已经有品牌商国代的国家
static NSString *const H_getBrandCountry = @"api/account/getBrandCountry";

//热销产品
static NSString *const H_getProductList = @"product/list";

//文档中心
static NSString *const H_getPdfFile = @"manual/list";

//安装视频
static NSString *const H_getInstallVideo = @"installVideo/list";

//推广视频
static NSString *const H_getPromotionVideo = @"promotionVideo/list";

//案例分享
static NSString *const H_getCaseStudyVideo = @"caseStudy/list";

//案例删除
static NSString *const H_deleteCaseStudyVideo = @"caseStudy";

//案例分享新增
static NSString *const H_addCaseStudyVideo = @"caseStudy";

//案例分享选择电站列表
static NSString *const H_CaseStudyPlantList = @"caseStudy/plant/list";

//删除账号
static NSString *const H_deleteAccount = @"api/user/delete";

//S3密钥
static NSString *const H_getS3Info = @"/dev-api/common/getS3Info";

//获取同一电站下相同类型的设备(麦格瑞能逆变器)
static NSString *const H_deviceListOfPlant = @"api/device/plant/device/list";

//麦格瑞能逆变器同步其他设备设置
static NSString *const H_deviceConfigSync = @"iot/device/config/sync";

//查询当前电站下的 主设备
static NSString *const H_getMasterDeviceIds = @"iot/getMasterDeviceIds";

//获取用户巡检配置
static NSString *const H_deviceReportConfigQuery = @"statement/patrol/inspection/query";

//获取用户报表数据
static NSString *const H_deviceReportDataList = @"statement/device/record/detail";

//保存设备报表配置
static NSString *const H_deviceReportConfigSave = @"statement/patrol/inspection/save";

//故障邮件推送设置
static NSString *const H_deviceFaultPushConfig = @"system/admin/setDevicePush";

//获取故障邮件推送设置
static NSString *const H_getDeviceFaultPushConfig = @"system/admin/getDevicePush";

//获取指定用户的下级用户
static NSString *const H_getDownUser = @"api/device/getDownUser";


//================================ 三期  工商储 ===================================
//首页运行数据
static NSString *const H_homeRunData = @"api/app/v2/appHome";

//电站列表
static NSString *const H_plantMonitorList = @"api/plantMonitor/list";

//资产系统列表
static NSString *const H_assetSystemList = @"api/system/asset/list";

//添加系统
static NSString *const H_assetSystemAdd = @"api/system/asset/add";

//删除系统
static NSString *const H_assetSystemDelete = @"api/system/asset";

//系统详情
static NSString *const H_getSystemInfo = @"api/system/asset/detail";

//可添加到系统的设备
static NSString *const H_getSystemDeviceListCanAdd = @"api/system/asset/device/list";

//系统解绑设备
static NSString *const H_systemDeleteDevice = @"api/system/asset/unbindDevice";

//编辑系统
static NSString *const H_systemEdit = @"api/system/asset/edit";

//电站可添加的系统(全部)
static NSString *const H_getPlantSystemListCanAdd = @"api/plant/system/list";
//电站可添加的系统(过滤)
static NSString *const H_getPlantSystemListByDeviceType = @"api/plant/system/selectAvaliablePlantBySystemType";

//创建电站
static NSString *const H_plantAdd = @"api/plant";

//电站监控详情
static NSString *const H_MeplantMonitorDetail = @"api/plantMonitor/detail";

//设备监控详情
static NSString *const H_MeDeviceMonitorDetail = @"api/plantMonitor/device/detail";

//电站监控充放电曲线
static NSString *const H_MePlantChgLineData = @"api/app/v2/getPlantChargeDischarge";

//电站监控收益曲线
static NSString *const H_MePlantIncomeData = @"api/plant/income/curve";

//组织列表
static NSString *const H_MeOrgnizationList = @"api/organization/list";

//组织下的用户列表
static NSString *const H_MeOrgnizationUserList = @"api/organization/user/list";

//删除组织下的用户
static NSString *const H_UserOperation = @"api/user";

//获取电价配置
static NSString *const H_electricityPriceDetail = @"api/plant/electricity/price/detail/by/plantId";

//添加电价模板
static NSString *const H_addElectricityPricePattern = @"api/plant/electricity/price";

//保存电价模板
static NSString *const H_saveElectricityPricePattern = @"api/plant/electricity/price/save/config";

//我的电价模板
static NSString *const H_myElectricityPricePatternList = @"api/plant/electricity/price/list";

//获取国家列表
static NSString *const H_getCountryList = @"common/countries";

//获取省州列表
static NSString *const H_getStateList = @"common/states";

//获取城市列表
static NSString *const H_getCityList = @"common/cities";

//获取设备故障告警趋势数据
static NSString *const H_getDeviceAlarmLineData = @"api/plantMonitor/device/alarm/curve";

//根据id查询组织
static NSString *const H_getOrganizationDetail = @"api/organization/detail";

//加入组织
static NSString *const H_bindToOrganization = @"api/user/bind/organization";

//保存策略模板到电站
static NSString *const H_savePolicyConfig = @"strategy/save/config";

//新增加策略模板
static NSString *const H_addPolicyConfig = @"strategy";

//保存过的策略模板列表
static NSString *const H_getPolicyConfigList = @"strategy/list";

//电站策略下发
static NSString *const H_plantPolicySend = @"strategy/issue/command";

//查询电站配置的策略
static NSString *const H_getPlantPolicy = @"strategy/query/plant/config";


//获取所有部件类型
static NSString *const H_getAllEndpointListTitle = @"api/v2/endpointType/title";

//获取所有部件列表
static NSString *const H_getAllEndpointList = @"api/v2/endpointTypeListBytitle/list";

//获取设备电能统计信息
static NSString *const H_getDeviceElectricEnergyInfo = @"api/device/getElectricEnergyInfo";

//获取设备电池统计信息
static NSString *const H_getDeviceBatteryEnergyInfo = @"api/device/getBatteryInfo";

//获取可升级固件的设备
static NSString *const H_getCanUpdateDevice = @"api/device/getUpdateDevice";

//分组时区选择
static NSString *const H_getGroupRegion = @"groups/forced/config/selectRegionList";

//普通用户绑定后更新到默认组织(三合一)
static NSString *const H_updateVisitorIntoDefaultOrg = @"back/partner/updateVisitorIntoDefaultOrg";

//用户层级添加电站 选择所属用户
static NSString *const H_selectUserWhenAddingPlant = @"api/user/v2/endpoint/user/list";

//获取逆变器类型
static NSString *const H_getInverterType = @"groups/v2/tableTwo";


/********************************************************全球API服务*********************************************************/
//获取所有国家列表(登录,注册时用)
static NSString *const G_getCountries = @"api/v1/countries";

//品牌商创建用户 选择相同服务器的国家地区
static NSString *const G_getCountryByServer = @"api/v1/getCountryByServer";

//获取当前国家区域服务地址(登录,注册时用)
static NSString *const G_getServerInfo = @"api/v1/serverInfo";

//获取所有国家列表(品牌商切换国家区域用)
static NSString *const G_getSwitchCountries = @"api/global/syncData/countries";

//切换国家区域服务地址
static NSString *const G_switchserverInfo = @"api/global/syncData/serverInfo";

//品牌商切换国家 改成 直接切换服务器
static NSString *const G_getServerList = @"api/v1/serverList";

//切换区域上报
static NSString *const G_switchRegionReport = @"api/global/syncData/switchReportTest";

//切换区域后自动登录
static NSString *const G_switchRegionLogin = @"api/global/syncData/switchLoginTestn";


//上报设备端点关系
static NSString *const D_reportedDevRelation = @"device/uploadEndpointRelation";

//获取设备端点关系
static NSString *const D_getDevRelation = @"device/getEndpointRelations";

//获取端点所有数据点
static NSString *const D_devDataConfig  = @"api/device/data/list";



//获取状态信息参数表(设备上报参数点时用)
static NSString *const D_devStatusParameterConfig  = @"device/status/list";

//获取端点参数点数据
static NSString *const D_devQueryLastParam  = @"api/device/data/queryLastParam";

//上报故障
static NSString *const D_uploadAlarm = @"device/uploadAlarm";

//获取端点数据
static NSString *const D_getEndpointData = @"api/appHome/getEndpointData";

//上报参数点
static NSString *const D_devUploadParam = @"device/uploadParam";

//获取最后一条端点数据
static NSString *const D_getLastEndpointData = @"iot/deviceData";

//根据时间段获取端点数据
static NSString *const D_getEndpointDataByTime = @"iot/deviceData";

//获取端点数据(两种端点类型并存的时候)逆变器时使用
static NSString *const D_getInvEndpointDataByTime = @"iot/deviceDataByInv";

//品牌账号密码广播分发到所有区域
static NSString *const D_brandBroadcastGlobal = @"dev-api/api/v1/brandBroadcastGlobal";

//获取最新固件链接
static NSString *const D_getDownLoadUrl = @"device/getDownLoadUrl";

//上传固件版本号
static NSString *const D_uploadVersion = @"device/uploadVersion";

//获取日志配置参数
static NSString *const D_logParaList = @"api/device/log/list";

//获取固件类型列表--->改成端点
static NSString *const D_endpointExampleList = @"back/endpointExample/list";




#endif /* URLMacros_h */
